import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

// 引入axios组件 start
import axios from "axios";
// axios.defaults.baseURL = "/";
// 将axios放在vue的原型对象中;
Vue.prototype.axios = axios;
// 引入axios组件 end

// 引入一些组件,并设置为全局组件 start
// 头部组件
import MyHeader from "./components/MyHeader";
Vue.component("my-header", MyHeader);
// 底部组件
import MyFooter from "./components/MyFooter";
Vue.component("my-footer", MyFooter);
// 侧边选项卡组件
import SideTab from "./components/SideTab";
Vue.component("side-tab", SideTab);
// 我的音乐侧边选项卡组件
import MySideTab from "./components/MySideTab";
Vue.component("my-side-tab", MySideTab);

// 引入一些组件,并设置为全局组件 end

// 引入element-ui组件库,并使用组件库 start
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI);
// 引入element-ui组件库,并使用组件库 end

// 根据路由的变化 更换不同的title start
router.beforeEach((to, from, next) => {
	/* 路由发生变化修改页面title */
	if (to.meta.title) {
		document.title = to.meta.title;
	}
	next();
});
// 根据路由的变化 更换不同的title end

// 引入moment插件 并放在原型对象中 start
import moment from "moment";
// moment.locale("zh-cn");
Vue.prototype.moment = moment;
// 引入moment插件 并放在原型对象中 end

// 阻止启动生产消息，常用作指令
Vue.config.productionTip = false;

// 解决
import Router from "vue-router";
const routerPush = Router.prototype.push;
Router.prototype.push = function push(location) {
	return routerPush.call(this, location).catch((error) => error);
};
new Vue({
	router,
	store,
	render: (h) => h(App),
}).$mount("#app");
